package com.skynet.supervision.aop.uac.beans;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 * @author xuchao
 * @date 2023-03-08 20:05
 */
@ApiModel
@Data
public class UACTokenInfo implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    @JsonIgnore
    private String id;
    /**
     * token
     */
    @ApiModelProperty("token,后续请求均需在header中携带此token")
    private String token;

    /**
     * token失效时间（时间戳：秒）
     */
    @ApiModelProperty("token失效时间（时间戳：秒）")
    private Long expireAt;

    @JsonIgnore
    private Long expireIn;

    /**
     * 刷新Token（用于续期Token）
     */
    @ApiModelProperty("刷新Token（用于续期Token）")
    private String refreshToken;

    /**
     * refreshToken失效时间（时间戳：秒）
     */
    @ApiModelProperty("refreshToken失效时间（时间戳：秒）")
    private Long refreshTokenExpireAt;

    @JsonIgnore
    private Long refreshTokenExpireIn;
}
